﻿using ProyectoDeTesis.Controladores;
using System;
using System.Collections.Generic;
using System.Windows.Forms;

namespace ProyectoDeTesis.Vistas
{
    public partial class NuevoUsuario : Form
    {
        private int pantalla_id = 8;
        private PerfilController perfilController = new PerfilController();
        private PersonalController personalController = new PersonalController();
        public NuevoUsuario()
        {
            InitializeComponent();
            cargarComboPerfil();
        }

        private void NuevoUsuario_Load(object sender, EventArgs e)
        {

        }

        public void cargarComboPerfil()
        {
            List<ProyectoDeTesis.Perfil> listaPerfil = perfilController.CargarPerfil();

            ProyectoDeTesis.Perfil perfilDefault = new ProyectoDeTesis.Perfil();

            perfilDefault.id = 0;
            perfilDefault.nombre = "Seleccione Perfil";

            listaPerfil.Insert(0, perfilDefault);

            cmbPerfil.DataSource = listaPerfil;
            cmbPerfil.DisplayMember = "nombre";
            cmbPerfil.ValueMember = "id";

        }

        private void BtnCancelarBarra_Click(object sender, EventArgs e)
        {
            this.Dispose();
        }

        private void BtnGuardar_Click(object sender, EventArgs e)
        {
            guardarUsuario();
        }

        private void BtnCancelar_Click(object sender, EventArgs e)
        {
            this.Dispose();
        }

        private void BtnAceptar_Click(object sender, EventArgs e)
        {
            guardarUsuario();            
        }

        private void guardarUsuario()
        {
            Usuario user = new Usuario();
            PerfilPersonal perfil_personal = new PerfilPersonal();

            user.nombre_usuario = textUsuario.Text;
            perfil_personal.nombre = textNombre.Text;
            perfil_personal.ap_paterno = textApPaterno.Text;
            perfil_personal.ap_materno = textApMaterno.Text;
            perfil_personal.fecha_nac = dateTimeFechaNac.Value;
            perfil_personal.direccion = textDireccion.Text;
            perfil_personal.telefono = textTelefono.Text;
            perfil_personal.correo = textCorreo.Text;
            user.perfil_id = Convert.ToInt32(cmbPerfil.SelectedValue);
            perfil_personal.estado = "Activo";

            switch (Convert.ToString(cmbturno.SelectedValue))
            {
                case "Mañana":
                    perfil_personal.turno = 1;
                    break;
                case "Tarde":
                    perfil_personal.turno = 2;
                    break;
                case "Noche":
                    perfil_personal.turno = 3;
                    break;
            }
            
            string resultado = personalController.nuevoUsuario(perfil_personal, user);

            if (resultado.Equals(personalController.NO_DISPONIBLE))
            {
                FormError error = new FormError(personalController.NO_DISPONIBLE);
                error.ShowDialog(this);
            }

            else if (resultado.Equals(personalController.USUARIO_CREADO))
            {
                FormAceptar boton = new FormAceptar(personalController.USUARIO_CREADO);
                boton.ShowDialog(this);
                this.Dispose();
            }
            else if (resultado.Equals(personalController.ERROR_CREADO))
            {
                FormError error = new FormError(personalController.ERROR_CREADO);
                error.ShowDialog(this);
            }
        }

        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {

        }

        private void groupBox2_Enter(object sender, EventArgs e)
        {

        }
    }
}
